arrays can be represented in a few different ways in – different representations have different performance advantages. Simple general vectors, simple vectors of integers, and simple strings are basic data types, and access to these structures is quicker than access to non-simple (or ``complex'') arrays. However, all multi-dimensional arrays in are complex arrays, so references to these are always through a header structure.
Once a vector has been allocated, it is possible to reduce its length by using the Shrink-Vector sub-primitive, but never to increase its length, even back to the original size, since the space freed by the reduction may have been reclaimed.